Nonvolatile data storage devices, such as embedded memory devices and removable memory devices, enable portability of data and software applications. In certain flash memory devices, multi-level cell (MLC) storage elements may each store a threshold voltage representing multiple bits of data, enhancing data storage density as compared to single-level cell (SLC) flash memory devices. The enhanced storage density may be associated with increased data errors, such as data corruption.
To correct data errors, a flash memory device may utilize an error correcting code (ECC) technique. For example, the flash memory device may encode user data using an ECC technique to generate encoded data, such as an ECC codeword. The encoded data may be stored at the flash memory device and may be decoded by a decoder of the flash memory device, such as in response to a request for read access to the data from a host device that accesses the flash memory device.
The flash memory device may use a low-density parity-check (LDPC) decoding technique to decode the data, such as a binary LDPC decoding technique or a non-binary LDPC (NB-LDPC) decoding technique. NB-LDPC decoding techniques typically have better performance than binary LDPC decoding techniques. Although many techniques have been developed for NB-LDPC decoding, these techniques are typically complex and consume power at a device. Various methodologies are needed to reduce power consumption and to improve utilization of processing resources in connection with NB-LDPC decoding techniques.